This function enables a group of instruments with note-length lists of non-concurrent values to syncronize within and to a single zone-length. In effect, the function length-insert has been applied across a multipart texture.
When the function processes a collection of note-length lists it uses the make-zone function to add-up each list into a zone-length. It picks the longest zone-length and uses this as a master. With this master value the remaining lists have note-lenth values added to them to 'add-up' to the master zone.
The type parameter gives the option for this 'add-up' value to be a :rest or :note. The position parameter allows for the new value to be placed at :first or :last in the list.
type :rest :note seed
position :first :last :rand seed
(setq v1 '(1/1 1/20 7/30 -13/60 1/20))
(setq v2 '(3/8 1/2 -5/24))
(setq va '(3/40 3/40 -19/40 5/24 13/60))
(setq vc '(1/12 1/12 1/6 7/48 7/48 7/24 -23/60))
(setq sq (l-alignment :last :rest v1 v2 va vc))
=> ((1/1 1/20 7/30 -13/60 1/20)
(3/8 1/2 -5/24 -7/15)
(3/40 3/40 -19/40 5/24 13/60 -1/2)
(1/12 1/12 1/6 7/48 7/48 7/24 -23/60 -1/4))
The output produces a align list of length lists which must then be extracted using car or its MRAC option 1~, 2~ etc.